1. Field of the Invention
The present invention relates to the field of memory management and, in particular, to a method and apparatus for updating a basic input/output system.
2. Background Information
Computer system manufacturers have long relied on configuration selectors, e.g., jumper block assemblies, dip switches, and the like, to configure a number of operational parameters of a computer system. Examples of such operating parameters configured with a plurality of configuration selectors include the bus/core ratio, the processor clock speed and the speaker select (internal/external). Recently, advances in memory management have allowed developers to store more basic input/output system (BIOS) functions in the same memory space occupied by prior art BIOS. That is, the functionality of BIOS has increased without an increased memory allocation. As a result, system developers are beginning to rely on the BIOS to set a number of the operating parameters for the computer system, as disclosed in the contemporaneously filed copending patent application Ser. No. 08/940,636 to Jerald N. Hall, et al. and commonly assigned to the assignee of the present invention. Examples of BIOS configurable operating parameters include the mode of operation (normal/update), password enable/disable, setup enable/disable and a number of extended system configuration parameters maintained in a complementary metal oxide semiconductor (CMOS) memory device.
However, with the expanding the role of BIOS, it necessarily becomes larger and more complex. Those skilled in the art will recognize that as BIOS has become more complex, it is now typically embodied in more advanced forms of nonvolatile memory that are capable of update, such as electrically programmable read only memory (EPROM), electrically erasable programmable nonvolatile memory (EEPROM) and flash memory devices (e.g., flash EEPROM). In many of these prior art systems, the BIOS is updated by erasing the existing contents of the nonvolatile memory, and loading an updated BIOS from an update disk. In flash memory devices, e.g., flash EEPROM, this process is commonly referred to as "reflashing". Those skilled in the art will recognize that with this added complexity of the BIOS and the devices within which they are stored, comes an increased likelihood that the BIOS will become corrupted.
In an effort to detect whether the BIOS has become corrupted, more complex ones of the prior art BIOS will perform a simple checksum analysis on the nonvolatile memory to determine if the memory contents are corrupted. If so, the computer may alert the user to this fact through a series of audible tones (e.g., beeps), or the computer may simply not boot. If a BIOS is determined to be corrupted, many of the prior art systems require that the entire BIOS be reflashed with an updated BIOS, or that the entire nonvolatile memory be replaced. Neither of these prior art approaches to effecting a BIOS update are attractive, as they are inefficient, time consuming and costly.
Thus a need exists for a method and apparatus for updating a basic input/output system, unencumbered with the express and inherent limitations associated with the prior art solutions.